package studentinformationmanagementsystem.dao;

import studentinformationmanagementsystem.entity.ClassSchedule;
import studentinformationmanagementsystem.entity.Course;

import java.util.List;

/**
 * @author 苗庆
 * @version 1.0
 */
public interface ClassScheduleDao {
    
    /**
     * 对课程表信息进行添加
     * @param classSchedule  课程表对象
     * @return  受影响的记录行数
     */
    int insert(ClassSchedule classSchedule);


    /**
     *  根据ID更新课程表信息
     * @param classSchedule  课程表对象
     * @return 受影响的记录行数
     */
    int update(ClassSchedule classSchedule);

    /**
     *  根据ID 修改部分信息
     * @param classSchedule  课程表对象
     * @return 受影响的记录行数
     */
    int update01(ClassSchedule classSchedule);


    /**
     *  根据ID删除课程表
     * @param classSchedule 课程表ID
     * @return 受影响的记录行数
     */
    int delete(ClassSchedule classSchedule);


    /**
     * 查询所有课程表信息
     * @return 所有课程表信息
     */
    List<ClassSchedule> queryAll();


    /**
     * 根据课程表ID查询课程表信息
     * @param classSchedule 课程表ID
     * @return 课程表信息
     */
    ClassSchedule queryById(ClassSchedule classSchedule);




    /**
     * 根据课程id和教师id查询课程表信息 开课时间   不用考虑是否删除
     * @param classSchedule 课程表ID
     * @return 课程表信息
     */
    ClassSchedule queryById01(ClassSchedule classSchedule);



    /**
     * 查询总记录条数
     */
    Integer queryForPageTotalCount();


    /**
     * 分页查询DAO层方法
     *
     * @param begin    起始记录行数
     * @param pageSize 每页展示数量
     * @return
     */
    List<ClassSchedule> queryForPageItems(int begin, int pageSize);

}
